package fr.exil.proto.quest.generator.quete.type;

import fr.exil.proto.quest.generator.quete.condition.Condition;
import fr.exil.proto.quest.generator.quete.consequence.Consequence;
import fr.exil.proto.quest.generator.quete.donneur.Donneur;
import fr.exil.proto.quest.generator.quete.validation.Validation;

public abstract class TypeQuete {
    public static enum ListeTypesQuete {
		COLLECTION
	}
    
	// Atributs
	protected String typeDeQuete;
	protected Donneur donneur;
	protected int nombreEtape;
	protected Condition conditionEchec;
	protected Consequence consequenceEchec;
	protected Condition conditionReussite;
	protected Consequence consequenceReussite;
	protected Validation validationEtape;
	protected Validation validationQuete;
	
	// Methods
	public abstract String nom();
	
	// Getters et Setters
	public String getTypeDeQuete() {return typeDeQuete;}
	
	public Donneur getDonneur() {return donneur;}
	
	public int getNombreEtape() {return nombreEtape;}
	
	public Condition getConditionEchec() {return conditionEchec;}
	
	public Consequence getConsequenceEchec() {return consequenceEchec;}
	
	public Condition getConditionReussite() {return conditionReussite;}
	
	public Consequence getConsequenceReussite() {return consequenceReussite;}
	
	public Validation getValidationEtape() {return validationEtape;}
	
	public Validation getValidationQuete() {return validationQuete;}
}
